package cn.wen.yaling.xo.service;

import cn.wen.yaling.commons.entity.SysDictDataEntity;
import cn.wen.yaling.commons.entity.SysDictTypeEntity;
import cn.wen.yaling.commons.utils.ResultEntity;
import cn.wen.yaling.commons.vo.SysDictDataAddVO;
import cn.wen.yaling.commons.vo.SysDictDataUpdateVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 
 *
 * @author FY
 * @email 932043654@qq.com
 * @date 2022-08-13 02:07:36
 */
public interface SysDictDataService extends IService<SysDictDataEntity> {

    /**
     * 获取全部的字典信息
     * @return
     * @param dictTypeId
     */
    ResultEntity getDictDataList(Integer dictTypeId);

    /**
     * 通过 字典类型 和 字典标签获取信息 当 dictTypeId == 0 时代表全部的信息
     * @param dictTypeId
     * @param dictLabel
     * @return
     */
    ResultEntity searchDictData(Integer dictTypeId, String dictLabel);

    /**
     * 添加字典数据信息
     * @param sysDictDataAddVO
     * @return
     */
    ResultEntity addSysDictData(SysDictDataAddVO sysDictDataAddVO);

    /**
     * 修改字典数据信息
     * @param sysDictDataUpdateVO
     * @return
     */
    ResultEntity editDictData(SysDictDataUpdateVO sysDictDataUpdateVO);

    /**
     * 批量删除字典数据信息
     * @param dictDataIds
     * @return
     */
    ResultEntity deleteBatchDictData(List<Integer> dictDataIds);

    /**
     * 通过字典类型获取数据
     * @param dictType
     * @return
     */
    ResultEntity getListByDictType(String dictType);

    /**
     * 通过分类列表获取字典数据
     * @param dictTypeList
     * @return
     */
    ResultEntity getListByDictTypeList(List<String> dictTypeList);
}

